1 Library:

library(tidyverse)
library(patchwork)
library(plotly)
library(ggthemes)

2 RMarkdown Plots:

using patchwork, we can make this pattern of graph in many ways. The best way to make the pattern to begin with is to order from top to bottom so plot2 is on top then the next three plots (plot4, plot1, plot3) are in the middle and then at the very bottom is plot5.

p1 <- ggplot(mtcars) + 
  geom_point(aes(mpg, disp)) + 
  ggtitle('Plot 1')
p1

p2 <- ggplot(mtcars) + 
  geom_boxplot(aes(gear, disp, group = gear)) + 
  ggtitle('Plot 2')
p2

p3 <- ggplot(mtcars) + 
  geom_point(aes(hp, wt, colour = mpg)) + 
  ggtitle('Plot 3')
p3

p4 <- ggplot(mtcars) + 
  geom_bar(aes(gear)) + 
  ggtitle('Plot 4')
p4

p5 <- ggplot(mtcars) + 
  geom_histogram(aes(disp)) + 
  ggtitle('Plot 5')
p5
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

p2 / (p4 + p1 + p3) / p5
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

3 Tab:

3.1 1: Diamonds Description

The Diamonds dataset looks at 53,940 observations over 10 different variables. These variables range from carat, cut, color, clarity, depth, talbe, price, x, y, z.

summary(diamonds)
##      carat               cut        color        clarity          depth      
##  Min.   :0.2000   Fair     : 1610   D: 6775   SI1    :13065   Min.   :43.00  
##  1st Qu.:0.4000   Good     : 4906   E: 9797   VS2    :12258   1st Qu.:61.00  
##  Median :0.7000   Very Good:12082   F: 9542   SI2    : 9194   Median :61.80  
##  Mean   :0.7979   Premium  :13791   G:11292   VS1    : 8171   Mean   :61.75  
##  3rd Qu.:1.0400   Ideal    :21551   H: 8304   VVS2   : 5066   3rd Qu.:62.50  
##  Max.   :5.0100                     I: 5422   VVS1   : 3655   Max.   :79.00  
##                                     J: 2808   (Other): 2531                  
##      table           price             x                y         
##  Min.   :43.00   Min.   :  326   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:56.00   1st Qu.:  950   1st Qu.: 4.710   1st Qu.: 4.720  
##  Median :57.00   Median : 2401   Median : 5.700   Median : 5.710  
##  Mean   :57.46   Mean   : 3933   Mean   : 5.731   Mean   : 5.735  
##  3rd Qu.:59.00   3rd Qu.: 5324   3rd Qu.: 6.540   3rd Qu.: 6.540  
##  Max.   :95.00   Max.   :18823   Max.   :10.740   Max.   :58.900  
##                                                                   
##        z         
##  Min.   : 0.000  
##  1st Qu.: 2.910  
##  Median : 3.530  
##  Mean   : 3.539  
##  3rd Qu.: 4.040  
##  Max.   :31.800  
## 
str(diamonds)
## tibble [53,940 Ă— 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

3.2 2: Graphs

p1 <- ggplot(diamonds) +
  geom_boxplot(aes(color, price), color = "lightblue") +
  coord_flip() +
  ggtitle("Plot 1")
# p1

p2 <- ggplot(diamonds) +
  geom_boxplot(aes(carat, color), color = "lightpink1") +
  ggtitle("Plot 2")
p1 + p2

3.3 3:

4 MtCars:

4.1 1: Observations and Varibles

mtcars_columncount <- ncol(mtcars)
mtcars_rowcount <- nrow((mtcars))
print(paste("There are", mtcars_columncount, "variables and", mtcars_rowcount, "unique car types in the mtcars dataset."))
## [1] "There are 11 variables and 32 unique car types in the mtcars dataset."

4.2 2: Loop

name1 = colnames(mtcars) [1:11]
name1
##  [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear"
## [11] "carb"

5 Interactive Plot:

head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
iris_IP <- iris %>%
  ggplot( aes(Sepal.Length, Petal.Length, size=Sepal.Width, color=Petal.Width)) +
  geom_point() +
  scale_x_log10() +
  theme_bw()
 
ggplotly(iris_IP)

This graph observes the 4 different quantitative variables in the Iris dataset. We have sepal length on the x-axis and petal length on the y-axis with a comparitive use of sepal width and color by petal width.

6 Choice dataset:

Lob1 <- ggplot(Loblolly) +
  geom_point(aes(age, height)) +
  ggtitle("Plot 1")
# p1

Lob2 <- ggplot(Loblolly) +
  geom_boxplot(aes(age, height, group = Seed)) +
  ggtitle("Plot 2")
# p2
Lob3 <- ggplot(Loblolly) +
  geom_point(aes(age, height, colour = Seed)) +
  ggtitle("Plot 3")
Lob1 + theme_dark()

Lob2 + theme_light()

Lob3 + theme_bw()

6.1 Themes:

  • the first theme I choose theme_dark() added a shading to the main graph area when printed.
  • the second theme, theme_clean() made the graph very basic and just black and white, minimal lines, and minimal everything to read.
  • the third theme, theme_economist(), made the graph nice to read with a key above and a shadded background–it looks like something that would be in a newspaper or article.

6.1.1 Favorite:

  • I think my favorite theme of the 3 above is the theme_economist(), it is just the easiest to read and has a nice key and background.

7 Image:

Coding Meme
Coding Meme

https://chat.openai.com/

LS0tCnRpdGxlOiAiSFcxMSIKYXV0aG9yOiAiU3lkbmV5IEJhbGwiCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiBoaWRlCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgaW5jbHVkZXM6CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIGNvZGVfZG93bmxvYWQ6IHllcwogICAgdGhlbWU6IGNvc21vCiAgICBkZl9wcmludDoga2FibGUKLS0tCgojIExpYnJhcnk6CgpgYGB7ciBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShwYXRjaHdvcmspCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGdndGhlbWVzKQpgYGAKCiMgUk1hcmtkb3duIFBsb3RzOiAKdXNpbmcgcGF0Y2h3b3JrLCB3ZSBjYW4gbWFrZSB0aGlzIHBhdHRlcm4gb2YgZ3JhcGggaW4gbWFueSB3YXlzLiBUaGUgYmVzdCB3YXkgdG8gbWFrZSB0aGUgcGF0dGVybiB0byBiZWdpbiB3aXRoIGlzIHRvIG9yZGVyIGZyb20gdG9wIHRvIGJvdHRvbSBzbyBwbG90MiBpcyBvbiB0b3AgdGhlbiB0aGUgbmV4dCB0aHJlZSBwbG90cyAocGxvdDQsIHBsb3QxLCBwbG90MykgYXJlIGluIHRoZSBtaWRkbGUgYW5kIHRoZW4gYXQgdGhlIHZlcnkgYm90dG9tIGlzIHBsb3Q1LiAKYGBge3J9CnAxIDwtIGdncGxvdChtdGNhcnMpICsgCiAgZ2VvbV9wb2ludChhZXMobXBnLCBkaXNwKSkgKyAKICBnZ3RpdGxlKCdQbG90IDEnKQpwMQoKcDIgPC0gZ2dwbG90KG10Y2FycykgKyAKICBnZW9tX2JveHBsb3QoYWVzKGdlYXIsIGRpc3AsIGdyb3VwID0gZ2VhcikpICsgCiAgZ2d0aXRsZSgnUGxvdCAyJykKcDIKCnAzIDwtIGdncGxvdChtdGNhcnMpICsgCiAgZ2VvbV9wb2ludChhZXMoaHAsIHd0LCBjb2xvdXIgPSBtcGcpKSArIAogIGdndGl0bGUoJ1Bsb3QgMycpCnAzCgpwNCA8LSBnZ3Bsb3QobXRjYXJzKSArIAogIGdlb21fYmFyKGFlcyhnZWFyKSkgKyAKICBnZ3RpdGxlKCdQbG90IDQnKQpwNAoKcDUgPC0gZ2dwbG90KG10Y2FycykgKyAKICBnZW9tX2hpc3RvZ3JhbShhZXMoZGlzcCkpICsgCiAgZ2d0aXRsZSgnUGxvdCA1JykKcDUKICAgICAgICAKcDIgLyAocDQgKyBwMSArIHAzKSAvIHA1CmBgYAoKIyBUYWI6CgojIyAxOiBEaWFtb25kcyBEZXNjcmlwdGlvbgoKVGhlIERpYW1vbmRzIGRhdGFzZXQgbG9va3MgYXQgNTMsOTQwIG9ic2VydmF0aW9ucyBvdmVyIDEwIGRpZmZlcmVudCB2YXJpYWJsZXMuIFRoZXNlIHZhcmlhYmxlcyByYW5nZSBmcm9tIGNhcmF0LCBjdXQsIGNvbG9yLCBjbGFyaXR5LCBkZXB0aCwgdGFsYmUsIHByaWNlLCB4LCB5LCB6LgoKYGBge3J9CnN1bW1hcnkoZGlhbW9uZHMpCnN0cihkaWFtb25kcykKYGBgCgojIyAyOiBHcmFwaHMKCmBgYHtyfQpwMSA8LSBnZ3Bsb3QoZGlhbW9uZHMpICsKICBnZW9tX2JveHBsb3QoYWVzKGNvbG9yLCBwcmljZSksIGNvbG9yID0gImxpZ2h0Ymx1ZSIpICsKICBjb29yZF9mbGlwKCkgKwogIGdndGl0bGUoIlBsb3QgMSIpCiMgcDEKCnAyIDwtIGdncGxvdChkaWFtb25kcykgKwogIGdlb21fYm94cGxvdChhZXMoY2FyYXQsIGNvbG9yKSwgY29sb3IgPSAibGlnaHRwaW5rMSIpICsKICBnZ3RpdGxlKCJQbG90IDIiKQpwMSArIHAyCmBgYAoKIyMgMzoKCiMgTXRDYXJzOgoKIyMgMTogT2JzZXJ2YXRpb25zIGFuZCBWYXJpYmxlcwoKYGBge3J9Cm10Y2Fyc19jb2x1bW5jb3VudCA8LSBuY29sKG10Y2FycykKbXRjYXJzX3Jvd2NvdW50IDwtIG5yb3coKG10Y2FycykpCnByaW50KHBhc3RlKCJUaGVyZSBhcmUiLCBtdGNhcnNfY29sdW1uY291bnQsICJ2YXJpYWJsZXMgYW5kIiwgbXRjYXJzX3Jvd2NvdW50LCAidW5pcXVlIGNhciB0eXBlcyBpbiB0aGUgbXRjYXJzIGRhdGFzZXQuIikpCmBgYAoKIyMgMjogTG9vcAoKYGBge3J9Cm5hbWUxID0gY29sbmFtZXMobXRjYXJzKSBbMToxMV0KbmFtZTEKYGBgCgojIEludGVyYWN0aXZlIFBsb3Q6CgpgYGB7cn0KaGVhZChpcmlzKQppcmlzX0lQIDwtIGlyaXMgJT4lCiAgZ2dwbG90KCBhZXMoU2VwYWwuTGVuZ3RoLCBQZXRhbC5MZW5ndGgsIHNpemU9U2VwYWwuV2lkdGgsIGNvbG9yPVBldGFsLldpZHRoKSkgKwogIGdlb21fcG9pbnQoKSArCiAgc2NhbGVfeF9sb2cxMCgpICsKICB0aGVtZV9idygpCiAKZ2dwbG90bHkoaXJpc19JUCkKYGBgCgpUaGlzIGdyYXBoIG9ic2VydmVzIHRoZSA0IGRpZmZlcmVudCBxdWFudGl0YXRpdmUgdmFyaWFibGVzIGluIHRoZSBJcmlzIGRhdGFzZXQuIFdlIGhhdmUgc2VwYWwgbGVuZ3RoIG9uIHRoZSB4LWF4aXMgYW5kIHBldGFsIGxlbmd0aCBvbiB0aGUgeS1heGlzIHdpdGggYSBjb21wYXJpdGl2ZSB1c2Ugb2Ygc2VwYWwgd2lkdGggYW5kIGNvbG9yIGJ5IHBldGFsIHdpZHRoLgoKIyBDaG9pY2UgZGF0YXNldDoKCmBgYHtyfQpMb2IxIDwtIGdncGxvdChMb2Jsb2xseSkgKwogIGdlb21fcG9pbnQoYWVzKGFnZSwgaGVpZ2h0KSkgKwogIGdndGl0bGUoIlBsb3QgMSIpCiMgcDEKCkxvYjIgPC0gZ2dwbG90KExvYmxvbGx5KSArCiAgZ2VvbV9ib3hwbG90KGFlcyhhZ2UsIGhlaWdodCwgZ3JvdXAgPSBTZWVkKSkgKwogIGdndGl0bGUoIlBsb3QgMiIpCiMgcDIKTG9iMyA8LSBnZ3Bsb3QoTG9ibG9sbHkpICsKICBnZW9tX3BvaW50KGFlcyhhZ2UsIGhlaWdodCwgY29sb3VyID0gU2VlZCkpICsKICBnZ3RpdGxlKCJQbG90IDMiKQpMb2IxICsgdGhlbWVfZGFyaygpCkxvYjIgKyB0aGVtZV9saWdodCgpCkxvYjMgKyB0aGVtZV9idygpCmBgYAoKIyMgVGhlbWVzOgoKLSAgIHRoZSBmaXJzdCB0aGVtZSBJIGNob29zZSB0aGVtZV9kYXJrKCkgYWRkZWQgYSBzaGFkaW5nIHRvIHRoZSBtYWluIGdyYXBoIGFyZWEgd2hlbiBwcmludGVkLgotICAgdGhlIHNlY29uZCB0aGVtZSwgdGhlbWVfY2xlYW4oKSBtYWRlIHRoZSBncmFwaCB2ZXJ5IGJhc2ljIGFuZCBqdXN0IGJsYWNrIGFuZCB3aGl0ZSwgbWluaW1hbCBsaW5lcywgYW5kIG1pbmltYWwgZXZlcnl0aGluZyB0byByZWFkLgotICAgdGhlIHRoaXJkIHRoZW1lLCB0aGVtZV9lY29ub21pc3QoKSwgbWFkZSB0aGUgZ3JhcGggbmljZSB0byByZWFkIHdpdGggYSBrZXkgYWJvdmUgYW5kIGEgc2hhZGRlZCBiYWNrZ3JvdW5kLS1pdCBsb29rcyBsaWtlIHNvbWV0aGluZyB0aGF0IHdvdWxkIGJlIGluIGEgbmV3c3BhcGVyIG9yIGFydGljbGUuCgojIyMgRmF2b3JpdGU6CgotICAgSSB0aGluayBteSBmYXZvcml0ZSB0aGVtZSBvZiB0aGUgMyBhYm92ZSBpcyB0aGUgdGhlbWVfZWNvbm9taXN0KCksIGl0IGlzIGp1c3QgdGhlIGVhc2llc3QgdG8gcmVhZCBhbmQgaGFzIGEgbmljZSBrZXkgYW5kIGJhY2tncm91bmQuCgojIEltYWdlOgoKPGNlbnRlcj4hW0NvZGluZyBNZW1lXShEZXNrdG9wL1NjcmVlbnNob3QgMjAyNC0wNC0wOSBhdCA3LjI4LjUyIFBNLnBuZyk8Y2VudGVyPgoKPGh0dHBzOi8vY2hhdC5vcGVuYWkuY29tLz4KCgoKCgoKCgoKCgoKCgoKCgoKCgo=